const mysql = require('./../utils/selfDB')

function updateUserInfo(ctx){
  var openid = ctx.state.$wxInfo.userinfo.openId;
  return mysql('userInfo').count('openId as hasUser').where({
    openId:openid
  })
    .then(res => {
      // 如果存在用户则更新
      if (res[0].hasUser) {
        // return mysql('userInfo').update({
        //   openId: ctx.state.$wxInfo.userinfo.openId, nickName: 'update'
        // }).where({
        //   openid
        // })

        return mysql('userInfo').insert({
          openId: openid, nickName: 'update', updatetime: mysql.fn.now()
        })

        .then(function () {
          return {
            msg: "update succed"
          }
        })
          .catch(e => {
            return {
              msg: "update error:" + e.message
            }
          })
      } else {
        return mysql('userInfo').insert({
          openId: openid, nickName: 'insert'
        })
          .then(res => {
            return {
              msg: "insert succed"
            }
          })
          .catch(e => {
            return {
              msg: "insert error:" + e.message
            }
          })
      }
    })
    .then(msg => {
      return msg
    })
    .catch(e => {
      return {
        msg: "check error:" + e.message
      }
    })
}

module.exports = (ctx, next) => {
  return updateUserInfo(ctx).then(result => {
    ctx.state.data = result
  })
}